/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package carrancao.controlador;

import carrancao.entidades.FormaPagamento;
import carrancao.exception.CadastrarFormaPagamentoException;
import carrancao.repositorio.FormaPagamentoRepositorio;
import java.util.List;
import javax.swing.JOptionPane;

/**
 *
 * @author Lubnnia
 */
public class FormaPagamentoControlador {

    private FormaPagamentoRepositorio formaRep;

    public FormaPagamentoControlador() {
        this.formaRep = new FormaPagamentoRepositorio();
    }

    public void validarFormaPagamento(FormaPagamento forma) throws CadastrarFormaPagamentoException {

        if(forma.getFormaPagamento().equals("")) {
            JOptionPane.showMessageDialog(null, "Favor preencha os campos obrigatórios",
                    "Mensagem do Sistema", JOptionPane.INFORMATION_MESSAGE);
        }

    }

    public void cadastrarFormaPagamento(FormaPagamento forma) throws CadastrarFormaPagamentoException {

        this.validarFormaPagamento(forma);

        this.formaRep.cadastrarFormaPagamento(forma);

        JOptionPane.showMessageDialog(null, "Forma de Pagamento Cadastrado com Sucesso!",
                "Mensagem do Sistema", JOptionPane.INFORMATION_MESSAGE);
    }

    public boolean alterarFormaPagamento(FormaPagamento forma) throws CadastrarFormaPagamentoException {
        boolean resposta = false;
        if(!(forma.getFormaPagamento().equals(""))) {
            this.formaRep.alterarFormaPagamento(forma);
            resposta = true;
        } else {
            resposta = false;
        }
        return resposta;
    }

    public void deletarFormaPagamento(FormaPagamento forma) {

        if(forma != null) {
            this.formaRep.deletarFormaPagamento(forma);
            JOptionPane.showMessageDialog(null, "Dados Excluídos com Sucesso!",
                    "Mensagem do Sistema", JOptionPane.INFORMATION_MESSAGE);
        } else {
            JOptionPane.showMessageDialog(null, "Forma de Pagamento não existe!",
                    "Mensagem do Sistema", JOptionPane.INFORMATION_MESSAGE);
        }

    }

    public FormaPagamento pesquisarFormaPagamentoPorID(int id) {

        FormaPagamento forma = this.formaRep.pesquisarFormaPagamentoPorID(id);

        return forma;

    }

    public List pesquisarFormaPagamentoTodos() {

        List forma = this.formaRep.pesquisarFormaPagamentoTodos();

        return forma;

    }

    public List pesquisarFormaPagamentoPorNome(String nomeFormaPagamento) {

        List forma = this.formaRep.pesquisarFormaPagamentoPorNome(nomeFormaPagamento);

        return forma;

    }

}
